package top.healthylife.gateway.platform.jg.dto.iaudience.req;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import top.healthylife.gateway.dto.annotation.ApiField;
import top.healthylife.gateway.dto.processor.GroupOneMustBeFilledInProcessor;
import top.healthylife.gateway.dto.request.req.ApiReqDto;
import top.healthylife.gateway.platform.jg.dto.annotation.AutoUnderline;

/**
 * 极光iAudiences 基础标签
 * @author gwx
 * @date 2021/9/9
 */
@Data
@Accessors(chain = true)
@ApiModel("极光iAudiences 基础标签")
public class JGReqIauDienceDto extends ApiReqDto {

    @ApiModelProperty(value = "Android IMEI" , notes = "Android IMEI")
    private String imei;

    @ApiModelProperty(value = "imei(MD5加密，小写)" , notes = "imei(MD5加密，小写)")
    @AutoUnderline
    private String imeiMd5;

    @ApiField(value = "手机号" , group = GroupOneMustBeFilledInProcessor.class)
    @ApiModelProperty(value = "手机号" , example = "18877773273" , notes = "手机号")
    private String phone;

    @ApiField(value = "手机号的md5值" , group = GroupOneMustBeFilledInProcessor.class)
    @ApiModelProperty(value = "手机号的md5值" , notes = "手机号的md5值")
    @AutoUnderline
    private String phoneMd5;

    @ApiModelProperty(value = "手机号码(SHA256加密，小写)" , notes = "手机号码(SHA256加密，小写)")
    @AutoUnderline
    private String phoneSha256;

    @ApiModelProperty(value = "MAC地址" , notes = "MAC地址")
    private String mac;

    @ApiModelProperty(value = "国际移动用户识别码" , notes = "国际移动用户识别码")
    private String imsi;

    @ApiModelProperty(value = "需要查询的标签" , notes = "tag 默认为all；如果自定义，则多个tag之间使用|分隔开 tag 默认或为all时，系统返回给客户配置的标签集 tag 为某些标签值时，系统返回给客户配置的标签集与该tag值的标签交集")
    private String tag;

    @ApiModelProperty(value = "用户姓名" , example = "张三" , notes = "用户姓名" , required = true)
    private String name;

    @ApiModelProperty(value = "身份证号" , example = "500381199811242113" , notes = "身份证号" , required = true)
    @AutoUnderline
    private String idNumber;

}
